Uec3.ShowQuotationWindow = Ext.extend(Ext.Window, {
	initPanel : function() {
		
		var realType_store = getDictionaryStore(Uec3.App.Constants.homeUrl,{group:'requestReal_type'});
		this.realType_combo = getDictionaryComboBox(realType_store,'local','realType','认证类型','realType','','100%');
		
		var companyType_store = getDictionaryStore(Uec3.App.Constants.homeUrl,{group:'company_rtype'});
		this.companyType_combo = getDictionaryComboBox(companyType_store,'local','companyType','公司类型','companyType','','100%');
			
		realType_store.load();
		companyType_store.load();
		
		// 来源下拉框
		var sourceType_store = getDictionaryStore(RES_PATH, {
			group : 'part_source'
		});
		this.source_cmb = getDictionaryComboBox(sourceType_store, 'local', 'part_source',
				'来源', 'source', 80);
		sourceType_store.load();
		
		this.source_cmb1 = Uec3.App.dictionary.getCombo("part_source", {showWhole:true, width:80, hiddenName : 'source'});
		
		var market_store = new Ext.data.Store({
			proxy : new Ext.data.HttpProxy({
				url :Uec3.App.Constants.homeUrl+"/market/listMarket.do"
			}),
			reader : new Ext.data.JsonReader({
						root : 'root',
						fields : [{
									name : 'id'
								}, {
									name : 'name'
								}]
					})
		});
			
		
		this.market_cmb = new Ext.form.ComboBox({
			// dataIndex:'relation',
			hiddenName : 'marketId',
			fieldLabel : '市场',
			store : market_store,
			forceSelection : true,
			emptyText : '--请选择市场--',
			mode : 'local',
			width:80,
			anchor:'100%',
			triggerAction : 'all',
			valueField : 'id',
			displayField : 'name',
			loadingText : '加载中...',
			editable : false,
			allowBlank : true,
			blankText : "所在市场不能为空"
		});

		market_store.load({
			callback : function() {
				market_store.insert(0, new Ext.data.Record({ 'id': null, 'name': '请选择' }, '-1'))
			}
		});
		
		
		this.advancedQueryPanel = this.createAdvancedQueryPanel();
		this.openWindow = this.createOpenWindow();

		this.record = this.createRecord();
		this.colName = this.createColName();
		this.store = this.createStore();
		this.grid = this.createGrid();

		this.formPanel = this.createFormPanel();

		this.add(this.formPanel);
		this.add(this.grid);
		
		this.doLayout();
		this.show();
		this.creator.app.getDesktop().addAutoRun(this.getId());
		this.store.load();
		
		this.companyPaid = false;
		this.realType = false;
		
		Ext.Ajax.request({
			url : RES_PATH + '/company/checkRealTypeAndPaid.do',
			success : function(res) {
				var result = Ext.decode(res.responseText);
				if(result.companyPaid && result.companyPaid + '' == '1') {
					this.companyPaid = true;
				}
				if(result.realType && result.realType + '' == '1') {
					this.realType = true;
				}
				
				if( !this.companyPaid || !this.realType) {
					this.market_cmb.disable();
				}
			}.createDelegate(this)
		});
		
	},
	createFormPanel : function() {
		return new Ext.FormPanel({
					
			layout:'uec3grid',
			layoutConfig:{
				hGrid:[4,9,4,9,4,9,4,9,4,9,8,9,6],
				vGrid:[60,40]
			},
			height : 70,
					
			items : [
					{
						xtype : 'label',
						text : '搜索报价信息',
						style : {
							fontSize : '22px'
						},
						grid : [1,1,13,1]
					}, {
						xtype : 'label',
						text : '编码:'
					}, {
						xtype : 'textfield',
						name : 'code'
					}, {
						xtype : 'label',
						text : '名称:'
					}, {
						xtype : 'textfield',
						name : 'name'
					}, {
						xtype : 'label',
						text : '车型:'
					}, {
						xtype : 'textfield',
						name : 'carModel'
					}, {
						xtype : 'label',
						text : '来源:'
					}, this.source_cmb1, {
						xtype : 'label',
						text : '品牌:'
					}, {
						xtype : 'textfield',
						name : 'brand'
					}, {
						xtype : 'label',
						text : '市场名称:'
					}, this.market_cmb, {
						xtype : 'button',
						text : '查    找',
						width : 60,
						style : {
							marginLeft : '30px'
						},
						listeners : {
							click : function() {

								var params = this.formPanel.getForm().getValues();
								params = castNoSelToNULL(params);
								
								params = Ext.util.JSON.encode(params);
								
								this.store.baseParams = {'queryParam' : params};

								this.store.load();
								
							}.createDelegate(this)
						}

					}
		
		
			]
			
		});
	},

	queryByComplex : function() {
		this.advancedQueryPanel.getForm().reset();
		this.openWindow.show();
	},
	createAdvancedQueryPanel : function() {
		return new Ext.form.FormPanel({
					labelSeparator : "：",
					frame : true,
					border : false,
					items : [{
								xtype : 'textfield',
								width : 200,
								fieldLabel : '公司名称',
								name : 'companyName'
							}, {
								xtype : 'textfield',
								width : 200,
								fieldLabel : '零件名称',
								name : 'name'
							}, {
								xtype : 'textfield',
								width : 200,
								fieldLabel : '零件编码',
								name : 'code'
							}, {
								xtype : 'textfield',
								width : 200,
								fieldLabel : '英文零件名称',
								name : 'nameEn'
							}, {
								xtype : 'textfield',
								width : 200,
								fieldLabel : '品    牌',
								name : 'brand'
							}, {
								xtype : 'textfield',
								width : 200,
								fieldLabel : '产    地',
								name : 'origin'
							}],
					buttons : [{
								text : '查找',
								handler : this.searchResultByCondition.createDelegate(this)
							}, {
								text : '关闭',
								handler : function() {
									this.openWindow.hide();
								}.createDelegate(this)
							}]

				});
	},
	searchResultByCondition : function() {
		
		var form_values = this.advancedQueryPanel.getForm().getValues();
	
		for (var j in form_values) {
			form_values[j] = castNoSelToNULL(form_values[j]);
		}
			
		form_values = Ext.util.JSON.encode(form_values);
		if(form_values) {
			this.store.baseParams = {'queryParam' : form_values};
		} else {
//			this.store.baseParams = {};
			return;
		}
		this.store.load();
		this.openWindow.hide();
	},
	createOpenWindow : function() {
		return new Ext.Window({
					title : '高级查找',
					layout : 'fit',
					width : 380,
					closeAction : 'hide',
					height : 330,
					resizable : true,
					shadow : true,
					modal : true,
					closable : true,
					bodyStyle : 'padding:5 5 5 5',
					animCollapse : true,
					items : [this.advancedQueryPanel]
				});
	},
	createRecord : function() {
		return Ext.data.Record.create([
				{
					name : 'marketName'
				}, {
					name : 'province'
				}, {
					name : 'companyId'
				}, {
					name : 'companyName'
				}, {
					name : 'varName1'
				}, {
					name : 'companyType'
				}, {
					name : 'varName2'
				}, {
					name : 'realType'
				}, {
					name : 'carModel'
				}, {
					name : 'name'
				}, {
					name : 'code'
				}, {
					name : 'source'
				}, {
					name : 'measurementUnit'
				}, {
					name : 'swapCode'
				}, {
					name : 'level1Name'
				}, {
					name : 'level2Name'
				}, {
					name : 'brand'
				}, {
					name : 'origin'
				}, {
					name : 'retailPrice'
				}, {
					name : 'gmtLastQuotation'
				}, {
					name : 'gmtLastSold'
				}, {
					name : 'discount'
				}]);
	},
	createColName : function() {

		return new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(),
				{
					header : '编码',
					dataIndex : 'code',
					width : 122
				}, {
					header : '来源',
					dataIndex : 'source',
					renderer : Ext.util.Format.comboRenderer(this.source_cmb),
					width : 80
				}, {
					header : '名称',
					dataIndex : 'name',
					width : 130
				}, {
					header : '单位',
					dataIndex : 'measurementUnit',
					width : 35
				}, {
					header : '车型',
					dataIndex : 'carModel',
					width : 80
				}, {
					header : '媒体价',
					dataIndex : 'retailPrice',
					width : 70
				}, {
					header : '品牌',
					dataIndex : 'brand',
					width : 80
				}, {
					header : '产地',
					dataIndex : 'origin',
					width : 80
				}, {
					header : '最后卖出时间',
					dataIndex : 'gmtLastSold',
					width : 128
				}, {
					header : '互换码',
					dataIndex : 'swapCode',
					width : 122
				}, {
					header : '市场名称',
					dataIndex : 'marketName',
					width : 80
				}, {
					header : '省份',
					dataIndex : 'province',
					width : 50
				}, {
					header : '公司名称',
					dataIndex : 'companyName',
					width : 122
				}, {
					header : '公司类型',
					dataIndex : 'companyType',
					renderer : Ext.util.Format.comboRenderer(this.companyType_combo),
					width : 80
				}, {
					header : '实名认证类型',
					dataIndex : 'realType',
					renderer : Ext.util.Format.comboRenderer(this.realType_combo),
					width : 80
				}, {
					header : '最后报价时间',
					dataIndex : 'gmtLastQuotation',
					width : 128
				}]);
	},
	createStore : function() {
		return new Ext.data.JsonStore({
					url : RES_PATH + '/quotation/searchQuotation.do',
					baseParams : {
//						orderId : this.orderId
					},
					mode : "local",
					totalProperty : "totalProperty",
					root : "root",
					idProperty : "id",
					pruneModifiedRecords : true,
					fields : this.record
				});
	},
	needNoRealTypeMes : function() {
		if( !this.realType ) {
			Ext.Msg.alert('操作提示', '对不起,您还没有认证，请到【公司信息】菜单栏下提交认证..');
			return true;
		}
		return false;
	},
	needNoPaidSearchMes : function() {
		if( !this.companyPaid ) {
			Ext.Msg.alert('操作提示', '对不起,您还没有付费，如果您想选择市场，您可以购买套餐..');
			return true;
		}
		return false;
	},
	needNoPaidPartnerMes : function() {
		if( !this.companyPaid ) {
			Ext.Msg.alert('操作提示', '对不起,您还没有付费，暂时不能使用该功能,您可以购买U币..');
			return true;
		}
		return false;
	},
	showCompany : function() {
		if(this.needNoRealTypeMes()) {
			return;
		}
		if(this.needNoPaidPartnerMes()) {
			return;
		}
		
		var desktop = Uec3.App.getDesktop();
		var record = this.grid.getSelectionModel().getSelected();
		if(record == null) {
			Ext.Msg.alert('错误提示', '您未选择行记录或为空记录..');
			return;
		}
		  var companyId = record.get('companyId');
		  
			Ext.Ajax.request({
				url : Uec3.App.Constants.homeUrl
						+ '/company/query_company!showCompanyMessage.do',
			success : function(res) {
		          
				var result = Ext.decode(res.responseText);
				
				if (result.success == "OK") {
		
				     if(result.message == 1){
				    				    	
				    	  desktop.launchWindowByParam("simpleCompanyMessage", {id : companyId, isHiddenButton:true});
				   	 }
				   	 
				     if(result.message == 2){
				    	 desktop.launchWindowByParam("retailCompanyMessage", {companyId : companyId});
				     }
					
				} else {
		
					Ext.Msg.alert("提示", result.failure);
		
				}
			},
		
			failure : function(res) {
		
				Ext.Msg.alert('失败', "网络出现异常，请重先连接");
		
			},
		
			params : {
				companyId : companyId
			}
		
		});
	},
	addPartner : function() {	
		if(this.needNoRealTypeMes()) {
			return;
		}
		if(this.needNoPaidPartnerMes()) {
			return;
		}
		
		var desktop = Uec3.App.getDesktop();

		var record = this.grid.getSelectionModel().getSelected();
		if(record == null) {
			Ext.Msg.alert('错误提示', '您未选择行记录或为空记录..');
			return;
		}
		var companyId = record.get('companyId');

//		this.loadMask = new Ext.LoadMask(this.getId(), {
//							removeMask : true,
//							msg : '数据传送中......'
//						});
//		this.loadMask.show();
					
		var companyName = record.get('companyName');
		
		checkCertify(null, this.grid, null, null, companyId, companyName, companyId, ',把您加为往来单位', null, null);
		
		/*if (companyId == 0 || companyId == "") {
			
			Ext.Msg.alert("提示",
					"请先点击检查认证按钮,确认对方已是认证公司,才能进行这步操作")

			return;
		}
		Ext.Ajax.request({
			url : Uec3.App.Constants.homeUrl
					+ '/partner/query_partner!add_Partner.do',
			success : function(res) {
				
                if(this.loadMask) {
					this.loadMask.hide();
				}
				var result = Ext.decode(res.responseText);
				if (result.success == "OK") {

					 desktop.launchWindowByParam("requestAddPartner",{companyId : companyId, name : companyName, winId : companyId});
					
				} else {
                         if(result.failure=="isSelf"){
                        	 
                     		Ext.Msg
							.alert("提示",
									"您好,不能加自己为客户");                      	 
                         }
			           if(result.failure=="alreadyPartner"){
			        	   
			         		Ext.Msg
							.alert("提示",
									" 您好,该公司已经是你的客户,不能重复增加,请到客户列表查看");   
			        	   
			           }

				}
			}.createDelegate(this),

			failure : function(res) {
				if(this.loadMask) {
					this.loadMask.hide();
				}
				Ext.Msg.alert('失败', "网络出现异常，请重先连接");

			}.createDelegate(this),

			params : {
				companyId : companyId
			}

		});*/
		
//		Ext.Ajax.request({
//			url : RES_PATH + '/partner/addPartner.do',
//			
//			params : {
//				'companyId' : companyId,
//				'relation' : '1'
//			},
//			
//			success : function(res) {
//                  
//				var obj = Ext.decode(res.responseText);
//				if (obj.result == "ok") {
//					Ext.Msg.alert("提示", "您增加供应商操作成功.");
////						desktop.launchWindowByParam("partner_add", {companyId : companyId});
//				} else if(obj.result == "ownerIdEqualsCompId") {
//					Ext.Msg.alert("提示", "您不可以加自己为供应商.");
//				} else if(obj.result == "companyIsNull") {
//					Ext.Msg.alert("提示", "您所选择的该公司不存在.");
//				} else if(obj.result == "exist") {
//					Ext.Msg.alert("提示", "您所选择的该公司已经是供应商.");
//				} else {
//					
//				}
//				if(this.loadMask) {
//					this.loadMask.hide();
//				}
//			}.createDelegate(this),
//
//			failure : function(res) {
//				if(this.loadMask) {
//					this.loadMask.hide();
//				}
//				Ext.Msg.alert('失败', "网络出现异常，请重先连接");
//			}.createDelegate(this)
//
//		});			
		
	},
	showQuotation : function() {
		if(this.needNoRealTypeMes()) {
			return;
		}
		if(this.needNoPaidPartnerMes()) {
			return;
		}
		
		var record = this.grid.getSelectionModel().getSelected();
		if(record == null) {
			Ext.Msg.alert('错误提示', '您未选择行记录或为空记录..');
			return;
		}
		var desktop = Uec3.App.getDesktop();
		desktop.launchWindowByParam("showCompanyQuotationWindowCreator",
			{companyId : record.data.companyId, companyName : record.data.companyName, linkQuotaWindow : this});
	},
	launchWindow : function(compId, record) {
		Ext.Ajax.request({
			url : RES_PATH + '/partner/checkPartner.do',
			params : {'companyId' : compId },
			success : function(data) {
				var bo = Ext.decode(data.responseText);
				if(bo && bo.result + '' == 'go_on') {
					var desktop = Uec3.App.getDesktop();
					desktop.launchWindowByParam("addAutoPurchaseOrderWindowCreator", {'partnerId' : bo.partnerId, 'companyId' : compId, 'record' : record, linkWindow : this});
				}
			}.createDelegate(this)
		});
	},
	addPurchaseOrder : function() {
		if(this.needNoRealTypeMes()) {
			return;
		}
		if(this.needNoPaidPartnerMes()) {
			return;
		}
		
		var desktop = Uec3.App.getDesktop();
		
//		this.loadMask = new Ext.LoadMask(this.getId(), {
//				removeMask : true,
//				msg : '数据传送中......'
//			});
//		this.loadMask.show();
		
		var record = this.grid.getSelectionModel().getSelected();
		
		if(record == null) {
			if(this.loadMask) {
				this.loadMask.hide();
			}
			Ext.Msg.alert('错误提示', '您未选择行记录或为空记录..');
			return;
		}
		
		var compId = record.data.companyId;
		var compName = record.data.companyName;
		
		/*if(this[compId]) {
			
			desktop.launchWindowByParam("addAutoPurchaseOrderWindowCreator", {'companyId' : compId, 'record' : record});
			
			if(this.loadMask) {
				this.loadMask.hide();
			}
			
			return;
		}*/
		
		checkCertify(null, this.grid, null, null, compId, compName, compId, ',把您加为往来单位', true, this.launchWindow.createDelegate(this, [compId, record]));
		
//		Ext.Ajax.request({
//			url : RES_PATH + '/partner/checkPartner.do',
//			params : {'companyId' : compId },
//			success : function(data) {
//				var bo = Ext.decode(data.responseText);
//				if(bo && bo.result + '' == 'go_on') {
////					var desktop = Uec3.App.getDesktop();
//										
//					desktop.launchWindowByParam("addAutoPurchaseOrderWindowCreator", {'partnerId' : bo.partnerId, 'companyId' : compId, 'record' : record, linkWindow : this});
//				} else if(bo && bo.result + '' == 'otherAddPartner') {
//					Ext.Msg.confirm("提示", '对方供应商已将您公司从客户列表中删除，故暂不能下订单!是否发送请求，通知对方公司将您公司重新加为客户?', function(btnId) {
//						if(btnId == 'no') {
//							return;
//						} else {
//							checkCertify(null, this.grid, null, null, compId, compName, compId, true, this.launchWindow.createDelegate(this));
//						}
//					}.createDelegate(this));
//				} else {
//					Ext.Msg.confirm("提示", '下订单先要加对方为供应商，您确定添加吗？', function(btnId) {
//						if(btnId == 'no') {
//							return;
//						} else {
//							
//							checkCertify(null, this.grid, null, null, compId, compName, compId, true, this.launchWindow.createDelegate(this));
//							
////							this.loadMask = new Ext.LoadMask(this.getId(), {
////									removeMask : true,
////									msg : '数据传送中......'
////								});
////							this.loadMask.show();
//							
//							/*Ext.Ajax.request({
//								url : Uec3.App.Constants.homeUrl
//										+ '/partner/query_partner!add_Partner.do',
//								success : function(res) {
//									
//					                if(this.loadMask) {
//										this.loadMask.hide();
//									}
//									var result = Ext.decode(res.responseText);
//									if (result.success == "OK") {
//					
//										 desktop.launchWindowByParam("requestAddPartner",{companyId : compId, name : compName, winId : compId});
//										
//									} else {
//					                         if(result.failure=="isSelf"){
//					                        	 
//					                     		Ext.Msg
//												.alert("提示",
//														"您好,不能加自己为客户");                      	 
//					                         }
//								           if(result.failure=="alreadyPartner"){
//								        	   
//								         		Ext.Msg
//												.alert("提示",
//														" 您好,该公司已经是你的客户,不能重复增加,请到客户列表查看");   
//								        	   
//								           }
//					
//									}
//								}.createDelegate(this),
//					
//								failure : function(res) {
//									if(this.loadMask) {
//										this.loadMask.hide();
//									}
//									Ext.Msg.alert('失败', "网络出现异常，请重先连接");
//					
//								}.createDelegate(this),
//					
//								params : {
//									companyId : compId
//								}
//					
//							});*/
//							
//							
////							Ext.Ajax.request({
////								url : RES_PATH + '/partner/addPartner.do',
////								params : {'companyId' : compId, 'relation' : '1'},
////								success : function(data) {
////									if(this.loadMask) {
////										this.loadMask.hide();
////									}
////									var bo = Ext.decode(data.responseText);
////									if(bo && bo.result + '' == 'ok') {
////										Ext.Msg.confirm("提示", '供应商添加成功,您是否下订单？', function(btnId) {
////											if(btnId == 'no') {
////												return;
////											} else {
////												var desktop = Uec3.App.getDesktop();
////
////												desktop.launchWindowByParam("addAutoPurchaseOrderWindowCreator", {'partnerId' : bo.partnerId, 'companyId' : compId, 'record' : record, linkWindow : this});
////											}
////										});
////									} else {
////										Ext.Msg.alert("提示", '您添加供应商失败..');
////									}
////								}.createDelegate(this)
////							});
//						}
//					}.createDelegate(this));
//				}
//				
//				if(this.loadMask) {
//					this.loadMask.hide();
//				}
//				
//			}.createDelegate(this)
//		});
	},
	createGrid : function() {
		return new Ext.grid.GridPanel({
//					title : '数据明细',
					cm : this.colName,
					store : this.store,
					iconCls : 'icon-grid',
					loadMask : {
						msg : '数据加载中...'
					},
					viewConfig : {
						//forceFit : true
					},
					flex : 1,
//					height : 380,
					tbar : new Ext.app.ModuleToolbar(
						[
							'-',
							{
								text : '显示该公司信息',
								iconCls : 'icon-edit',
								permission : 23,
								handler : this.showCompany.createDelegate(this)
							},
							'-',
							{
								text : '加为往来单位',
								iconCls : 'icon-add',
								permission : 24,
								handler : this.addPartner.createDelegate(this)
							},
							'-',
							{
								text : '该公司全部报价',
								iconCls : 'icon-edit',
								permission : 44,
								handler : this.showQuotation.createDelegate(this)
							},
							'-',
							{
								text : '下订单',
								iconCls : 'icon-add',
								permission : 47,
								handler : this.addPurchaseOrder.createDelegate(this)
							}
						]
					),
					bbar : new Ext.PagingToolbar({
								pageSize : purOrSaleOrderPageSize,
								store : this.store,
								displayInfo : true,
								displayMsg : '第 {0} - {1} 条  共 {2} 条',
								emptyMsg : "没有记录"

							})
				});
	}

});


Uec3.ShowQuotationWindowCreator = Ext.extend(Ext.app.Module, {
			id : 'showQuotationWindowCreator',
			type : 'common/notepad',

			createWindow : function() {
				var desktop = this.app.getDesktop();
				var win = desktop.getWindow('showQuotationWindow');
				if (win) {
					win.show();
				} else {
					win = desktop.createWindow({
								id : 'showQuotationWindow',
								title : '搜索报价信息',
								width : 1010,
								height : 480,
								iconCls : 'acc-icon',
								animCollapse : true,
								constrainHeader : true,
								maximizable : true,
								taskbuttonTooltip : "搜索报价信息",
								layout : "fit",
								items : [],
								layout : 'vbox',
								layoutConfig: {
						          align : 'stretch',
						          pack  : 'start'
						        }
							}, Uec3.ShowQuotationWindow);

					win.creator = this;
					win.initPanel();
				}
			}
		});